package com.caocaog.market.finance.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.caocaog.market.finance.entity.MkBillBase;

import java.util.List;

/**
 * @author liguang
 * @version 1.0.0
 * @Project jeecg-boot
 * @Package com.caocaog.market.finance.service
 * @ClassName MkBillBaseService.java
 * @createTime 2021年12月03日 19:24:00
 * @Description TODO
 */
public interface MkBillBaseService extends IService<MkBillBase> {

    /**
     * 根据条件信息查询账单信息
     *      分页查询
     */
    IPage<MkBillBase> findForPage(Page<MkBillBase> page, MkBillBase billBase);
    /**
     * 根据条件信息查询账单信息
     *      不分页查询
     */
    List<MkBillBase> findAllForNoPage(MkBillBase billBase);

   MkBillBase findBillIsExist(String orderNo);


    /**
     * 同意退款
     * @param orderNo  is not null
     * @return
     */
    int agreeRefund(String orderNo);

    /**
     * 退款成功
     * @param orderNo  is not null
     * @return
     */
    int refundSuccess(String orderNo);
    /**
     * 退款失败——状态改为”待结算“
     * @param orderNo  is not null
     * @return
     */
    int refundFail(String orderNo);
    /**
     * 结算成功——状态改为”已结算“
     * @param orderNo  is not null
     * @return
     */
    int settledSuccess(String orderNo);

    /**
     * 根据order_no更改mk_bill_base表中的状态值，同时向mk_bill_history表中插入一条新的记录
     */
    int updatePayStatusAndInsertHistory(String orderNo,int payStatus);

}
